home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / x2ftp / msdos / indeo / setup.txt < prev    next >
Text File  |  1995-03-26  |  10KB  |  242 lines

  1.                How to Modify the Intel Setup program
  2.  
  3. Intel provides the Indeo(TM) video drivers with a Setup utility that
  4. automatically installs the drivers along with Microsoft's Video for
  5. Windows(TM)* runtime files.  The Intel Setup utility can be freely
  6. distributed with any application that uses Indeo video and the VfW
  7. runtimes.  The Setup utility may be distributed as is.  It is also
  8. possible to modify the Setup before it is distributed.  This article
  9. first gives an overview of how the Setup utility works and then shows
  10. how to modify it. 
  11.  
  12. The Intel Setup utility is already a modified version of the Setup
  13. utility provided by Microsoft.  The Microsoft Setup utility installs
  14. the Video for Windows (VfW) runtime files.  The Intel Setup utility
  15. also installs the VfW runtime files, but includes all of the latest
  16. Indeo video drivers.  With these additional drivers, the Intel Setup
  17. files do not all fit on one 3.5" diskette.  It is possible to delete
  18. one or more files from Setup in order to bring the total size down to
  19. one diskette again.  It is also possible to add more files to be
  20. installed by Setup.
  21.  
  22. Background on Microsoft's Setup:
  23. --------------------------------
  24.  
  25. By studying the contents of some of the text files used by Setup, it is
  26. possible to figure out how most of Setup works.  There are only a
  27. couple files that ever need to be modified.  Here is a list of the more
  28. important files:
  29.  
  30. setup.exe - This file bootstraps the installation process.
  31. setup.lst - A text file containing startup parameters.  It is usually
  32.             not modified.
  33. setup.mst - A text file containing Basic language script that is
  34.             executed during installation.  This file can be modified.
  35. setup.inf - A text file containing the list of files to be installed.
  36.             This file is the one that is most often modified.
  37. mscuistf.dll - A binary file that contains Setup dialog boxes.  It is
  38.                possible to modify this file to create a Setup with
  39.                custom dialog boxes.
  40.  
  41. The setup.exe file starts up execution.  A temporary directory is
  42. created right away on the hard disk.  Files that Setup uses during the
  43. installation process are copied into the temporary directory.  Setup
  44. gets the name of the temporary directory (~msstfqf.t) and the names of
  45. the temporary files from the text file setup.lst.  Most of the
  46. temporary files are compressed.  The compressed files usually have a
  47. filename that ends with an underscore (_).  Setup uncompresses these
  48. files while copying them into the temporary directory.
  49.  
  50. The following is an example of what Microsoft's setup.lst looks like:
  51.  
  52. ********************** Microsoft setup.lst ************************
  53.  
  54. [Params]
  55.     WndTitle   = Video for Windows 1.1 Runtime
  56.     WndMess    = Initializing Setup...
  57.     TmpDirSize = 500
  58.     TmpDirName = ~msstfqf.t
  59.     CmdLine    = _mstest setup.mst /C "/S %s %s"
  60.     DrvModName = DSHELL
  61.  
  62. [Files]
  63.     setup.mst  = setup.mst
  64.     setup.in_  = setup.inf
  65.     setupapi.in_ = setupapi.inc
  66.     msdetect.in_ = msdetect.inc
  67.     mscpydis.in_ = mscpydis.inc
  68.     mscpydis.dl_ = mscpydis.dll
  69.     mscomstf.dl_ = mscomstf.dll
  70.     msinsstf.dl_ = msinsstf.dll
  71.     msuilstf.dl_ = msuilstf.dll
  72.     msshlstf.dl_ = msshlstf.dll
  73.     mscuistf.dl_ = mscuistf.dll
  74.     msdetstf.dl_ = msdetstf.dll
  75.     iniupd.dl_   = iniupd.dll
  76.     _mstest.ex_  = _mstest.exe
  77.     _mssetup.ex_ = _mssetup.exe
  78.     profdisp.ex_ = profdisp.exe
  79.  
  80.  
  81. The [Files] section lists all of the files Setup copies into the
  82. temporary directory.  The source filenames are on the left and the
  83. destination names are on the right.  If the source file is compressed,
  84. Setup automatically decompresses it while it is being copied into the
  85. temporary directory.
  86.  
  87. One file to note in this list is setup.inf.  Setup.inf is a text file
  88. containing a list of all the files that are permanently installed by
  89. Setup.  This is a file that often needs to be edited for a new
  90. installation.  Microsoft typically provides this file in compressed
  91. format as setup.in_.  As a result, the uncompressed setup.inf file only
  92. exists for a short time in the temporary directory while the Setup
  93. program is running.  To save a permanent copy of setup.inf (or any of
  94. the temporary files), task switch over to Windows' File Manager just
  95. after Setup displays its Welcome dialog box.  Under File Manager, find
  96. the temporary directory and copy setup.inf to a permanent directory for
  97. later use.
  98.  
  99. Since setup.inf is an important file, and not very big, Intel Setup does
  100. not compress the setup.in_ file.  Setup.inf always exists in
  101. uncompressed format.  This makes the Intel Setup program easier to
  102. modify.  The Intel setup.lst file uses this line instead in setup.inf:
  103.  
  104.     setup.inf = setup.inf
  105.  
  106. Once the temporary directory is ready, the Basic script in setup.mst is
  107. executed.  Looking inside setup.mst shows the following steps are taken:
  108.  
  109. 1.  Verify Setup is running on the correct version of Windows.
  110. 2.  Put up the Welcome dialog box.
  111. 3.  Get the filenames listed in setup.inf.
  112. 4.  Install the files listed in setup.inf.
  113. 5.  Put text entries in system.ini, win.ini, and control.ini files.
  114. 6.  Put Media Player icon in Accessories group.
  115. 7.  Profile the display.
  116. 8.  Restart Windows.
  117.  
  118. The temporary directory is automatically deleted when Setup is done.
  119.  
  120. Setup.inf:
  121. ----------
  122.  
  123. Setup.inf contains the names of the files to be installed.  The line
  124. for the current Indeo video R3.2 driver looks as follows:
  125.  
  126. 1, ir32.dll,,,, 1994-10-26,,, OLDER, !READONLY,,,,, SHARED, 151056,,
  127.   ,, 3.22.1.44,
  128.  
  129. This line has entries separated by commas for such things as diskette
  130. number, filename, date, size, and version number.  In this case, Setup
  131. gets the file from diskette #1 (1), gets the name of the file to be
  132. copied and expanded (ir32.dll), assigns it a date (1994-10-26), only
  133. copies it over files with the same name that are older (OLDER), and
  134. does not make it a read-only file (!READONLY).  It is treated as a
  135. shared file (SHARED) meaning it may already be in use by the system.
  136. Finally, it verifies the file size (151056) and version number
  137. (3.22.1.44).
  138.  
  139. Any of these entries can be modified or deleted as part of a new
  140. installation routine.  The commas used in each line are critical,
  141. spaces are not.
  142.  
  143. Setup.mst:
  144. ----------
  145.  
  146. Setup.mst contains the Basic language script that is executed by Setup
  147. during installation.  Most of this code never changes except for a
  148. subroutine called "Install" near the end of the file.  Here are four
  149. lines of code taken from the Install subroutine:
  150.  
  151. CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.IV32",
  152.     "ir32.dll", cmoOverwrite
  153. Run ("regedit.exe /s " + MakePath(WinDir$, "mplayer.reg"))
  154. CreateProgmanItem "Accessories", "Media Player", MakePath(WinDir$,
  155.     "mplayer.exe"), "", cmoOverwrite
  156. Run ("profdisp.exe")   
  157.  
  158. CreateIniKeyValue is a call to a routine that places text entries in
  159. the system.ini and control.ini files.  This particular call looks in
  160. the Windows directory (Windir$) for the system.ini file and puts this
  161. entry in the [Drivers] section:
  162.  
  163. VIDC.IV32=ir32.dll
  164.  
  165. This call overwrites any previous VIDC.IV32 entries.
  166.  
  167. The second line taken from Setup.mst runs the Windows Regedit utility
  168. using data stored in a file called mplayer.reg.  The third line puts
  169. the Media Player icon in the Windows Accessories group.  The last line
  170. runs a program called profdisp.exe.  Profdisp profiles the display and
  171. places the results in the [drawdib] section of the win.ini file.
  172. Profdisp is one of the temporary files copied by Setup into the
  173. temporary directory.  Profdisp is deleted when Setup is done.
  174.  
  175. Even if you are not familiar with Basic programming, it is still
  176. possible to figure out what most of setup.mst does.  The code that
  177. usually needs modification is that which calls the CreateIniKeyValue
  178. function.  If an installation fails for unknown reasons, lines of
  179. code in Setup.mst can be commented out by placing two apostrophes
  180. ('') at the beginning of a line.
  181.  
  182. Mscuistf.dll:
  183. -------------
  184.  
  185. Mscuistf.dll contains the dialog boxes, such as the Welcome box, that
  186. are used by Setup during installation.  Mscuistf.dll is expanded and
  187. copied into the temporary directory during startup.  It is possible to
  188. modify these dialog boxes directly within the .dll file using utilities
  189. such as App Studio to customized the Setup routine.  App Studio comes
  190. with Microsoft Visual C++.
  191.  
  192. Modifying Intel Setup:
  193. ----------------------
  194.  
  195. The current Intel Setup routine installs these codecs:
  196.  
  197. Filename   Description           System.ini entries
  198. --------   -----------           ------------------
  199. ir32.dll   Indeo(TM) video R3.2  VIDC.IV31=ir32.dll
  200.                                  VIDC.IV32=ir32.dll
  201. ir21.dll   Indeo(TM) video R2.1  VIDC.RT21=ir21.dll
  202. iyvu9.dll  Indeo(TM) video Raw   VIDC.YVU9=iyvu9.dll
  203. iccvid.drv Cinepak               VIDC.CVID=iccvid.drv
  204. msvidc.drv MS Video 1            VIDC.MSVC=msvidc.drv
  205. msrle.drv  MS RLE                VIDC.MRLE=MSRLE.drv
  206.  
  207. Any one of these files can be removed, if they are not needed, to
  208. reduce the size of the Setup routine.  However, Video for Windows users
  209. typically assume a certain level of functionality after installing the
  210. VfW runtimes.  Delete files at your own risk.
  211.  
  212. The following steps show how to change Intel Setup so it no longer
  213. installs the RT21 Indeo video driver.
  214.  
  215. 1.  Delete the following line from the [AVICodecs] section of setup.inf:
  216.  
  217.     1, ir21.dll,,,, 1993-11-19,,, OLDER, !READONLY,,,,, SHARED, 77664,,
  218.         ,, 2.17.0.3,
  219.  
  220. 2.  Delete the following line from the Install subroutine of setup.mst:
  221.  
  222.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.RT21",
  223.         "ir21.dll", cmoOverwrite
  224.  
  225. 3.  Delete the compressed ir21.dl_ file.
  226.  
  227. 4.  The setup routine is ready to go.
  228.  
  229.  
  230. Microsoft Setup SDK:
  231. --------------------
  232.  
  233. It is more difficult adding a file to be installed by Setup than
  234. deleting one.  Microsoft's Setup SDK is usually needed to add a file.
  235. The Setup SDK provides Compress and Layout utilities along with some
  236. source code files.  Microsoft used to supply the Setup SDK with V3.1 of
  237. the Windows SDK.  The Setup Toolkit can now be obtained from Microsoft's
  238. Download Service (MSDL) at 206-936-6735.  Look for a file called
  239. CP0982.EXE in the C/C++ section.  A Setup tutorial is also available on
  240. MSDL.  The tutorial is located in the WINSDK section in a file called
  241. SETTLKIT.EXE.
  242.